#pragma once//防止被重复包含
//定义日志等级，并提供将枚举转字符串的接口
#include<string>
namespace logs
{
    class loglevel
    {
    public:
        enum class level
        {
            UNKNOW = 0,//未知等级错误
            DEBUG,//进行debug调试的日志信息
            INFO,//用户提示信息
            WARN,//警告信息
            ERROR,//错误信息
            FATAL,//致命错误信息
            OFF,//关闭日志
        };
       
        
        static std::string to_String(const level& lv)//必须是const的，不然外部无法传递,如果不是引用传递则无所谓
        {
            switch(lv)
            {
                case level::DEBUG:
                {   
                    return "DEBUG";
                    break;
                }
                case level::INFO:
                {
                    return "INFO";
                    break;
                }
                case level::WARN:
                {
                    return "WARN";
                    break;
                }
                case level::ERROR:
                {
                    return "ERROR";
                    break;
                }
                case level::FATAL:
                {
                    return "FATAL";
                    break;
                }
                 case level::OFF:
                {
                    return "OFF";
                    break;
                }
                default:
                {
                    return "UNKONW";
                    break;
                }
            }
        };
    };

};